home *** CD-ROM | disk | FTP | other *** search
/ Cre@te Online 2000 December / Cre@teOnline CD05.iso / MacSoft / XML ConsoleMax.sea / XML ConsoleMax / Required / swingall.jar / javax / swing / text / html / BlockView.class (.txt) next >
Encoding:
Java Class File  |  1999-07-15  |  3.6 KB  |  117 lines

  1. package javax.swing.text.html;
  2.  
  3. import java.awt.Graphics;
  4. import java.awt.Rectangle;
  5. import java.awt.Shape;
  6. import javax.swing.SizeRequirements;
  7. import javax.swing.event.DocumentEvent;
  8. import javax.swing.text.AttributeSet;
  9. import javax.swing.text.BoxView;
  10. import javax.swing.text.CompositeView;
  11. import javax.swing.text.Element;
  12. import javax.swing.text.View;
  13. import javax.swing.text.ViewFactory;
  14. import javax.swing.text.html.CSS.Attribute;
  15.  
  16. public class BlockView extends BoxView {
  17.    private AttributeSet attr;
  18.    private StyleSheet.BoxPainter painter;
  19.  
  20.    public BlockView(Element var1, int var2) {
  21.       super(var1, var2);
  22.       StyleSheet var3 = this.getStyleSheet();
  23.       this.attr = var3.getViewAttributes(this);
  24.       this.painter = var3.getBoxPainter(this.attr);
  25.       this.setPropertiesFromAttributes();
  26.    }
  27.  
  28.    void adjustSizeForCSS(int var1, SizeRequirements var2) {
  29.       if (var1 == 0) {
  30.          Object var3 = this.attr.getAttribute(Attribute.WIDTH);
  31.          if (var3 != null) {
  32.             int var4 = (int)((CSS.LengthValue)var3).getValue();
  33.             var2.minimum = var2.preferred = var4;
  34.             var2.maximum = Math.max(var2.maximum, var4);
  35.          }
  36.       } else {
  37.          Object var5 = this.attr.getAttribute(Attribute.HEIGHT);
  38.          if (var5 != null) {
  39.             int var6 = (int)((CSS.LengthValue)var5).getValue();
  40.             var2.minimum = var2.preferred = var6;
  41.             var2.maximum = Math.max(var2.maximum, var6);
  42.          }
  43.       }
  44.  
  45.    }
  46.  
  47.    protected SizeRequirements calculateMajorAxisRequirements(int var1, SizeRequirements var2) {
  48.       SizeRequirements var3 = super.calculateMajorAxisRequirements(var1, var2);
  49.       this.adjustSizeForCSS(var1, var3);
  50.       return var3;
  51.    }
  52.  
  53.    protected SizeRequirements calculateMinorAxisRequirements(int var1, SizeRequirements var2) {
  54.       SizeRequirements var3 = super.calculateMinorAxisRequirements(var1, var2);
  55.       this.adjustSizeForCSS(var1, var3);
  56.       return var3;
  57.    }
  58.  
  59.    public void changedUpdate(DocumentEvent var1, Shape var2, ViewFactory var3) {
  60.       super.changedUpdate(var1, var2, var3);
  61.       int var4 = var1.getOffset();
  62.       if (var4 <= ((View)this).getStartOffset() && var4 + var1.getLength() >= ((View)this).getEndOffset()) {
  63.          this.setPropertiesFromAttributes();
  64.       }
  65.  
  66.    }
  67.  
  68.    public float getAlignment(int var1) {
  69.       switch (var1) {
  70.          case 0:
  71.             return 0.0F;
  72.          case 1:
  73.             float var2 = ((BoxView)this).getPreferredSpan(1);
  74.             View var3 = ((CompositeView)this).getView(0);
  75.             float var4 = var3.getPreferredSpan(1);
  76.             float var5 = (int)var2 != 0 ? var4 * var3.getAlignment(1) / var2 : 0.0F;
  77.             return var5;
  78.          default:
  79.             throw new IllegalArgumentException("Invalid axis: " + var1);
  80.       }
  81.    }
  82.  
  83.    public AttributeSet getAttributes() {
  84.       return this.attr;
  85.    }
  86.  
  87.    public int getResizeWeight(int var1) {
  88.       switch (var1) {
  89.          case 0:
  90.             return 1;
  91.          case 1:
  92.             return 0;
  93.          default:
  94.             throw new IllegalArgumentException("Invalid axis: " + var1);
  95.       }
  96.    }
  97.  
  98.    protected StyleSheet getStyleSheet() {
  99.       HTMLDocument var1 = (HTMLDocument)((View)this).getDocument();
  100.       return var1.getStyleSheet();
  101.    }
  102.  
  103.    public void paint(Graphics var1, Shape var2) {
  104.       Rectangle var3 = (Rectangle)var2;
  105.       this.painter.paint(var1, (float)var3.x, (float)var3.y, (float)var3.width, (float)var3.height, this);
  106.       super.paint(var1, var3);
  107.    }
  108.  
  109.    protected void setPropertiesFromAttributes() {
  110.       this.attr = this.getStyleSheet().getViewAttributes(this);
  111.       if (this.attr != null) {
  112.          ((CompositeView)this).setInsets((short)((int)this.painter.getInset(1, this)), (short)((int)this.painter.getInset(2, this)), (short)((int)this.painter.getInset(3, this)), (short)((int)this.painter.getInset(4, this)));
  113.       }
  114.  
  115.    }
  116. }
  117.